As the memory capable of storing mass data for use, variable resistance memories (ReRAM) and so forth have received attention because they can be easily formed in 3 dimensions. Even though any types of memory cells are used, however, a trump card, which requires no development of new process technologies for mass storage, is how to put many bits in a single memory cell by multi-leveling the state of the memory cell, of which examples can be found in NAND flash memories. If the memory cell is multi-leveled, though, the instability of setting the state causes failed read/write easily. This has a tradeoff with the increase in the number of physical quantity levels of the memory cell. In the case of the NAND flash memory, the number of physical quantity levels per cell is equal to 8 levels or 16 levels at most and a complicated association is caused between the data bit information and the physical quantity level.